from dataclasses import dataclass
from typing import Tuple


@dataclass
class DHTBootstrapStart:
    """引导节点启动事件"""
    unique_id: str = None
    topic: str = 'dht_bootstrap_start'

@dataclass
class DHTPingSendEvent:
    """发送ping消息事件"""
    topic: str = 'dht_ping_send'
    unique_id: str = None
    address: Tuple[str,int] = None

@dataclass
class DHTFindNodeEvent:
    """发送find_node消息事件"""
    topic: str = 'dht_find_node'
    unique_id: str = None
    node_id: str = None
    address: Tuple[str,int] = None

@dataclass
class PongEvent:
    """pong事件"""
    topic: str = 'dht_pong'
    unique_id: str = None
    address: Tuple[str,int] = None